#pragma once
#include "..\Gangia_GUI.h"
#pragma once
#include "gUsbLib.h"
using namespace gUSBamp;

class ImpCheck2: public Impedance
{
public:
	ImpCheck2(wxWindow* parent);
	~ImpCheck2(void);

#ifdef HAVE_GTEC_USB_LIBRARY
public:
	HINSTANCE hinstLib;
	HANDLE hDevice;

	gUSBamp::LibGT_OpenDevice			hGT_OpenDevice;
	gUSBamp::LibGT_OpenDeviceEx			hGT_OpenDeviceEx;
	gUSBamp::LibGT_CloseDevice			hGT_CloseDevice;
	gUSBamp::LibGT_GetData				hGT_GetData;
	gUSBamp::LibGT_SetBufferSize		hGT_SetBufferSize;
	gUSBamp::LibGT_SetSampleRate		hGT_SetSampleRate;
	gUSBamp::LibGT_Start				hGT_Start;	
	gUSBamp::LibGT_Stop					hGT_Stop;
	gUSBamp::LibGT_SetChannels			hGT_SetChannels;
	gUSBamp::LibGT_ResetTransfer		hGT_ResetTransfer;
	
	gUSBamp::LibGT_SetDigitalOut		hGT_SetDigitalOut;
	gUSBamp::LibGT_SetDigitalOutEx		hGT_SetDigitalOutEx;
	gUSBamp::LibGT_GetDigitalIO			hGT_GetDigitalIO;
	gUSBamp::LibGT_GetDigitalOut		hGT_GetDigitalOut;
	gUSBamp::LibGT_EnableTriggerLine	hGT_EnableTriggerLine;

	gUSBamp::LibGT_GetFilterSpec		hGT_GetFilterSpec; 
	gUSBamp::LibGT_GetNumberOfFilter	hGT_GetNumberOfFilter; 
	gUSBamp::LibGT_SetBandPass			hGT_SetBandPass; 
	gUSBamp::LibGT_GetNotchSpec			hGT_GetNotchSpec; 
	gUSBamp::LibGT_GetNumberOfNotch		hGT_GetNumberOfNotch; 
	gUSBamp::LibGT_SetNotch				hGT_SetNotch;

	gUSBamp::LibGT_SetMode				hGT_SetMode;
	gUSBamp::LibGT_GetMode				hGT_GetMode;
	gUSBamp::LibGT_SetGround			hGT_SetGround;
	gUSBamp::LibGT_GetGround			hGT_GetGround;
	gUSBamp::LibGT_SetReference			hGT_SetReference;
	gUSBamp::LibGT_GetReference			hGT_GetReference;
	
	gUSBamp::LibGT_SetBipolar			hGT_SetBipolar;
	
	gUSBamp::LibGT_SetDRLChannel		hGT_SetDRLChannel;
	
	gUSBamp::LibGT_EnableSC				hGT_EnableSC;
	
	gUSBamp::LibGT_SetSlave				hGT_SetSlave;
	
	gUSBamp::LibGT_SetDAC				hGT_SetDAC; 
	gUSBamp::LibGT_SetScale				hGT_SetScale; 
	gUSBamp::LibGT_GetScale				hGT_GetScale; 
	gUSBamp::LibGT_Calibrate			hGT_Calibrate;
	
	gUSBamp::LibGT_GetLastError			hGT_GetLastError;	
	
	gUSBamp::LibGT_GetDriverVersion		hGT_GetDriverVersion;
	gUSBamp::LibGT_GetHWVersion			hGT_GetHWVersion;
	gUSBamp::LibGT_GetSerial			hGT_GetSerial;
	gUSBamp::LibGT_GetImpedance			hGT_GetImpedance;

#endif
	virtual void* Entry (void)
	{
		return 0;
	};
	virtual void OnStart(void){};
	virtual void OnStop(void){};
	virtual int Connect(void){return 0;};
	virtual int Connect(const char *OpenVal1){return 0;};
	bool connect;
	bool esci;
};

